home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.mactech.com 2010
/
ftp.mactech.com.tar
/
ftp.mactech.com
/
machack
/
Hacks97
/
WarriorsProgress.sit
/
Warrior’s Progress
/
source code
/
Source
/
Libraries
/
Files
/
Directory.h
< prev
next >
Wrap
Text File
|
1997-06-28
|
3KB
|
73 lines
// Directory.h
#ifndef Directory_h
#define Directory_h
#ifndef VolumeID_h
#include "VolumeID.h"
#endif
#ifndef DirectoryID_h
#include "DirectoryID.h"
#endif
#ifndef ConstPString_h
#include "ConstPString.h"
#endif
class FileLocation;
class Directory
{
private:
VolumeID volume;
DirectoryID id;
static Directory Find( VolumeID volume, OSType folder, bool creating );
static VolumeID System() { return VolumeID::Make( kOnSystemDisk ); }
public:
Directory( VolumeID theVolume, DirectoryID theID = DirectoryID::Root() )
: volume( theVolume ),
id( theID )
{}
VolumeID Volume() const { return volume; }
DirectoryID ID() const { return id; }
bool IsRoot() const { return id == DirectoryID::Root(); }
void Up();
void Down( ConstPString );
Directory Parent() const;
bool operator==( Directory d ) const { return volume == d.volume && id == d.id; }
bool operator!=( Directory d ) const { return volume != d.volume || id != d.id; }
static Directory AppleMenuItems ( VolumeID v = System() ) { return Find( v, kAppleMenuFolderType, false ); }
static Directory ControlPanels ( VolumeID v = System() ) { return Find( v, kControlPanelFolderType, false ); }
static Directory Desktop ( VolumeID v = System() ) { return Find( v, kDesktopFolderType, false ); }
static Directory Extensions ( VolumeID v = System() ) { return Find( v, kExtensionFolderType, false ); }
static Directory Fonts ( VolumeID v = System() ) { return Find( v, kFontsFolderType, false ); }
static Directory Preferences ( VolumeID v = System() ) { return Find( v, kPreferencesFolderType, false ); }
static Directory PrintSpool ( VolumeID v = System() ) { return Find( v, kPrintMonitorDocsFolderType, false ); }
static Directory StartupItems ( VolumeID v = System() ) { return Find( v, kStartupFolderType, false ); }
static Directory SystemFolder ( VolumeID v = System() ) { return Find( v, kSystemFolderType, false ); }
static Directory TemporaryItems ( VolumeID v = System() ) { return Find( v, kTemporaryFolderType, false ); }
static Directory SharedTrash ( VolumeID v = System() ) { return Find( v, kWhereToEmptyTrashFolderType, false ); }
static Directory MakeAppleMenuItems ( VolumeID v = System() ) { return Find( v, kAppleMenuFolderType, true ); }
static Directory MakeControlPanels ( VolumeID v = System() ) { return Find( v, kControlPanelFolderType, true ); }
static Directory MakeDesktop ( VolumeID v = System() ) { return Find( v, kDesktopFolderType, true ); }
static Directory MakeExtensions ( VolumeID v = System() ) { return Find( v, kExtensionFolderType, true ); }
static Directory MakeFonts ( VolumeID v = System() ) { return Find( v, kFontsFolderType, true ); }
static Directory MakePreferences ( VolumeID v = System() ) { return Find( v, kPreferencesFolderType, true ); }
static Directory MakePrintSpool ( VolumeID v = System() ) { return Find( v, kPrintMonitorDocsFolderType, true ); }
static Directory MakeStartupItems ( VolumeID v = System() ) { return Find( v, kStartupFolderType, true ); }
static Directory MakeSystemFolder ( VolumeID v = System() ) { return Find( v, kSystemFolderType, true ); }
static Directory MakeTemporaryItems ( VolumeID v = System() ) { return Find( v, kTemporaryFolderType, true ); }
static Directory MakeSharedTrash ( VolumeID v = System() ) { return Find( v, kWhereToEmptyTrashFolderType, true ); }
};
#endif